1. Field of the Invention
The present invention generally relates to a method of generating a music tone based on supplied song data such as MIDI data. In particular, the present invention relates to a music tone generating method applicable to a software sound source that reproduces a stream of MIDI data while receiving the same through a network.
2. Description of Related Art
A software sound source is known which implements a sound source by means of software without taking to special hardware. The supplied song data is reproduced using such a software sound source.
Recently, the song data is sometimes downloaded from a network for reproduction. A request for song data is sent from a computer to a server through a network such as the Internet. The server distributes the requested song data to the computer. To be more specific, the computer requests for song data embedded in a home page of the WWW (World Wide Web) as a tag based on HTML (Hyper Text Modeling Language) at the time of downloading of this home page. Otherwise, a user requests for MIDI file prepared on an FTP (File Transfer Protocol) server by clicking a particular position on the screen of the computer. The song data includes a standard MIDI file (SMF) and a multimedia file such as a karaoke file in which SMF is combined with image data and/or words data.
On the computer, softwares such as a Web browser is executed to receive the song data. Generally available Web browsers include Netscape (trademark of Netscape Communications Corporation) and Internet Explorer (trademark of Microsoft Corporation). The Web browsers have a capability of downloading a song data file from the server according to the above-mentioned technique.
There are various application software in the field of DTM such as "MIDIPLUG" (trademark of Yamaha Corporation), "Crescendo" (trademark of Live Up Date Corporation), and "Karaku" (trademark of Yamaha Corporation). The "MIDIPLUG" is a software sound source having main timbres of the XG standard, and starts reproducing of the music tones upon complete reception of MIDI data. The "Crescendo" is a player that outputs MIDI data to an external MIDI sound source made of local hardware or software every time the received MIDI data is accumulated to a certain degree while receiving the MIDI data. These software sound source and player are plug-in software incorporated in browsers for browsing home pages in the WWW so as to add new capabilities to the browsers. In the future, these software programs may become a standard capability of the browsers. The "Karaku" is a software package for the communication karaoke for presenting lyric words and music performance in synchronization.
FIG. 14 is a diagram illustrating operation of a conventional software sound source to carry out the music tone generating method. In the figure, reference numeral 121 denotes a MIDI data input timing, reference numeral 12 denotes a sound source parameter generating period, and reference numeral 14 denotes a waveform data generating period. In the music tone generating method using the conventional software sound source, a sound source driver inputs MIDI data at the MIDI data input timing 121 in a time frame (F-2) to generate a sound source parameter in the sound source parameter generating period 12. In the wave data generating period 14 of the next time frame (F-1), the sound source driver generates waveform data according to the sound source parameter. The waveform data thus generated is reproduced in a second next time frame (F). The sound source parameter generation is performed by discontinuing or interrupting the waveform generation every time MIDI data is inputted. Therefore, if performance events such as note-on, note-off and pitch bend concentrate in a particular time frame, for example at time frame (F-2), the CPU load extremely increases in this time frame to adversely affect the sound source computation, thereby causing a problem of incomplete waveform generation which would miss a part of simultaneous music tones.